Multimedia systems, such as multimedia computer systems are incorporating video display capabilities in conjunction with graphics display capabilities to allow users to display, for example, windows of a video within a window displaying graphic information. For example, a user of a computer having a progressive display may, for example, have a movie playing in one window while editing a document or performing some other function through another software application in another window within a computer screen.
A commonly known digital format for encoding digital video is the MPEG type standard developed by Philips Electronics Corporation. Graphics controller chips are known that may interface with an MPEG encoder or decoder and store video information in a frame buffer for display in combination with text data also stored in the frame buffer. Digital video motion compensation chips are also known which apply MPEG type standard motion compensation to minimize the amount of information that needs to be processed. For example, one frame may be broken into many macro blocks and portions of that frame may be used, for example, to reconstruct video frame for a subsequent or previous frame so that the entire frame need not be encoded. Motion vectors embedded in compressed video streams may be used, for example, to indicate how to combine various pixel blocks from differing frames for subsequent or previous frames to allow the system to provide visual motion. However, a problem arises if the display screen refresh rate, such as a progressive display screen refresh rate, is different from a video playback rate. Stored video may have a slower (or faster) playback rate. Video may be stored on a digital video disc or may come from some other source. One method of overcoming this problem involves repeatedly showing a same frame over. However, this can be perceived as unsmooth motion or jerky motion known as judder. This problem is compounded when video is to be displayed in one area and text is to be displayed in another area because the video display system typically must use a lower frame rate for text. For example, MPEG may encode video at varying frame rates per second including, for example, 30, 24, or 60 frames per second, whereas such refresh rates may be 85 cycles per second.
As previously mentioned, motion compensation estimation techniques are known that attempt to predict where an object will be based, based on a previous frame and future frame data and the system attempts to generate a new frame in real time. A problem with this motion estimation approach is that it is computationally intensive and can be burdensome to a host processing unit or graphics controller. In addition, processing time is a limited resource since additional functionality is being continually added to multimedia systems. In such systems, it is also known to use programmable blending factors for generating constructed macroblocks based on motion vector predicted reference frames to generate standard frames from encoded frame data in the input stream. However, such systems do not generally generate new frames that were not originally encoded in the input stream.
Consequently, there exists a need for a video display system and method that can continuously synchronize video playback and non-video display data having different display rates to improve the appearance of motion video in an attempt to avoid judder. It would be desirable if such a system took advantage of constructed frames based on motion compensation to generate new frames, while improving video playback quality.